package org.shj

import scala.beans.BeanProperty

class Person{
  val testProperty: String = "" //默认是公有的
  
  private var privateAge = 18
  
  /**
   * @BeanProperty 注解会自动生成以下四个方法：
   * name: String
   * name_=(newValue: String): Unit
   * getName(): String
   * setName(newValue: String): Unit
   */
  @BeanProperty var name: String = _
  
  //scala 中 getter 方法的表示法
  def age = privateAge
  
  //scala 中 setter 方法的表示法
  def age_=(newValue: Int){
    privateAge = newValue
  }
  
}

object ClassDemo {
  def main(args: Array[String]): Unit = {
    val p = new Person()
    println(p.age)
    p.age = 20
    println(p.age)
    
    p.name="zhuyin"
    println(p.name)
    println(p.getName());
  }
}